package jgl.vajra.kingkong.part.vehicle.contract;


import java.util.List;

import io.reactivex.Observable;
import jgl.vajra.kingkong.bean.CommonAddressBean;
import jgl.vajra.kingkong.databinding.ActivityCommonAddressBinding;
import jgl.vajra.kingkong.widget.mvvm.model.BaseModel;
import jgl.vajra.kingkong.widget.mvvm.view.BaseMVVMView;
import jgl.vajra.kingkong.widget.mvvm.viewmodel.BaseViewModel;

public class CommonAddressContract {
    public abstract static class Model extends BaseModel {
        public abstract Observable<List<CommonAddressBean>> getAddressList(String authorization);

        public abstract Observable<String> deleteAddress(String authorization, long id);
    }

    public interface View extends BaseMVVMView {

        void onAddCommonAddress();

        void onEditAddress(CommonAddressBean itemData);

        void onDeleteAddress(CommonAddressBean itemData);

        void onSelectAddress(CommonAddressBean itemData);

        void returnAddressListData(List<CommonAddressBean> data);

        void returnDeleteAddress();
    }

    public abstract static class ViewModel extends BaseViewModel<View, ActivityCommonAddressBinding, Model> {

        public abstract void getAddressList(String authorization);

        public abstract void deleteAddress(String authorization, long id);
    }
}
